Ubuntu14.04 LTS 64下载并编译Android源码

记录下在Ubuntu14.04 LTS 64位系统下,下载并编译Android4.4中遇到的问题,方便自己以后查阅和给别人提供一些帮助。

下载Android源码

(1)在下载之前,查看自己系统是否符合要求
其中值得注意的是:

  • JDK 7编译最新Android源码,JDK 6编译 Gingerbread至KitKat,JDK 5编译Cupcake至Froyo.
  • 编译Android2.3.x或以上系统需要 64位系统
  • Python 2.6-2.7

(2)安装各种必须软件

$ sudo apt-get install bison g++-multilib git gperf libxml2-utils

(3)下载Android源码到具体目录

  • 安装repo

    1
    2
    3
    4
    $ mkdir ~/bin
    $ PATH=~/bin:$PATH
    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
  • 下载对应版本源码,我下载的是4.4的,故命令为:

    1
    2
    repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2
    repo sync

这里,我遇到的一个问题是: repo init 时总是将.repo放在/home/your host name/目录下,看了下repo相关的内容发现,repo是封装了git功能的脚本,而我在对应目录的上层目录中已经有了一个.repo,故不再会在对应目录创建.repo.
其实.repo于.git类似。

编译Android源码
  • 初始化

    1
    $ source build/envsetup.sh
  • 选择合适的Target,如

    1
    $ lunch aosp_x86-eng
  • 编译代码

    1
    $ make -j4(这里的4可以根据自己系统的cpu调整,一般是核数*2)

这里,我遇到的问题是: 编译开始报各种错误,原因是安装必须软件时,有的软件没有安装完全造成的。在安装g++-multilib
时,总是出现依赖不满足的问题。使用-f 仍然没有用,后来将官方的源换成了国内的源后解决。